#!/usr/bin/env php
<?php
/**
 * Created by PhpStorm.
 * User: mateng马腾
 * Date: 2019/3/15
 * Time: 上午10:49
 * Title: 模块生成脚手架
 * Description:
 */

// 检测是否为cli模式
if ($_SERVER['PHP_SELF'] != 'build') {
    die("只能在CLI模式中使用\n");
}

// 检测传入数据是否为空
if (empty($argv[1])){
    die("模块名称不能为空\n");
}
// 传入数据（模块名称）
$m = $argv[1];
// 检测数据合法性
$mArr = str_split($m);
$mArrNum = count($mArr);
$numArr = ['1','2','3','4','5','6','7','8','9','10'];
for ($i=1; $i<$mArrNum; $i++){
    if (in_array($mArr[$i],$numArr)){
        die("模块名称中不能存在数字\n");
    }
}

define('WWW_APPLICATION_PATH', dirname(__FILE__)."/../");

/**
 * 模块配置（modules）
 */
//创建父模块控制器
$modulesFile = WWW_APPLICATION_PATH."/application/library/{$m}Modules.php";
$modulesFileAdd = fopen($modulesFile, "w") or die("无法打开文件!");//打开文件
// 代码
$modulesFileAdd_php = "<?php\r\n";
$modulesFileAdd_php .= "class {$m}Modules extends Yaf_Controller_Abstract\r\n";
$modulesFileAdd_php .= "{\r\n";
$modulesFileAdd_php .= "public function init()\r\n";
$modulesFileAdd_php .= "{\r\n";
$modulesFileAdd_php .= "}\r\n";
$modulesFileAdd_php .= "}\r\n";
fwrite($modulesFileAdd,$modulesFileAdd_php);//写入内容
fclose($modulesFileAdd);//关闭文件

// 控制器位置
$res=mkdir(iconv("UTF-8", "GBK", WWW_APPLICATION_PATH."/application/modules/{$m}/controllers/"),0777,true);
$modulesFileDir = WWW_APPLICATION_PATH."/application/modules/{$m}/controllers/Test.php";
$modulesFileDirAdd = fopen($modulesFileDir, "w") or die("无法打开文件!");//打开文件
$modulesFileDirAdd_php = "<?php\r\n";
$modulesFileDirAdd_php .= "class TestController extends {$m}Modules\r\n";
$modulesFileDirAdd_php .= "{\r\n";
$modulesFileDirAdd_php .= "public function init()\r\n";
$modulesFileDirAdd_php .= "{\r\n";
$modulesFileDirAdd_php .= "parent::init(); // TODO: Change the autogenerated stub\r\n";
$modulesFileDirAdd_php .= "}\r\n";
$modulesFileDirAdd_php .= "public function indexAction()\r\n";
$modulesFileDirAdd_php .= "{\r\n";
$modulesFileDirAdd_php .= "Helper_Json::outputNormal(\"{$m},mtYaf-Smarty v1.0\");\r\n";
$modulesFileDirAdd_php .= "}\r\n";
$modulesFileDirAdd_php .= "}\r\n";
fwrite($modulesFileDirAdd,$modulesFileDirAdd_php);//写入内容
fclose($modulesFileDirAdd);//关闭文件

die("{$m}模块创建完成！\n");
// 模型位置


?>

